home *** CD-ROM | disk | FTP | other *** search
- 1000 ' *** WSSUBJ.BAS
- 1010 ' *** PROGRAM TO CREATE A WORDSTAR SUBJECT INDEX ***
- 1020 ' *** VERSION DATE 11/08/85 BY PERRY DAVIS ***
- 1030 GOSUB 6010 'SCREEN COLOR
- 1040 GOSUB 6040 'HSKPG
- 1050 GOSUB 6130 'LOAD HEADINGS
- 1060 GOSUB 2010 'DISPLAY DOCUMENTATION?
- 1070 GOSUB 2160 'PROCESSING ROUTINES
- 1080 GOSUB 2330 'PRINT WSFILES OR NOT
- 1090 GOTO 9010 'EOJ
- 2000 ' *** INITIATE PROCESSING ***
- 2010 LOCATE 7, 21: PRINT H1$: IF COL$ <> "" THEN 2040
- 2020 LOCATE 10,15: LINE INPUT; "Do you have a color monitor? (Yes/No): "; COL$
- 2030 IF COL$ = "Y" OR COL$ = "y" OR COL$ = "YES" OR COL$ = "yes" OR COL$ = "Yes" THEN COL$ = "YES": GOSUB 6010: GOTO 2010 ELSE COL$ = "NO": GOTO 2040
- 2040 LOCATE 10,15: LINE INPUT; "Do You Want Program Documentation (Yes/No): "; DOC$
- 2050 IF DOC$ = "Y" OR DOC$ = "y" OR DOC$ = "YES" OR DOC$ = "yes" OR DOC$ = "Yes" THEN 2060 ELSE 2150
- 2060 CLS
- 2070 FOR P = 1 TO 23
- 2090 READ P$
- 2100 T=6: IF P=18 THEN T=1
- 2110 PRINT TAB(T); P$
- 2120 NEXT P
- 2130 LOCATE 25,6: PRINT "Press Any Key to Continue... ";: AK$=INKEY$
- 2140 IF AK$="" THEN 2130
- 2150 RETURN
- 2160 CLS
- 2170 GOSUB 6010: LOCATE 3,20: PRINT H1$
- 2180 CLOSE: OPEN "I",3,"DIRLIST"
- 2190 OPEN "O",2,"WSFILES": GOSUB 6100 'PRINT#2 HEADINGS
- 2200 IF EOF(3) THEN 2320
- 2210 LINE INPUT#3, FILEREAD$: FILE$ = LEFT$(FILEREAD$,12)
- 2220 IF LEFT$(FILEREAD$,2) = " " THEN 2200
- 2230 FC = FC + 1: LOCATE 5,20: PRINT USING "###"; FC;: PRINT " Directory File Lines Processed"
- 2240 IF FILE$="" THEN 2200
- 2250 FC$=LEFT$(FILE$,1)
- 2260 IF FC$=" " OR FC$="." THEN 2200
- 2270 FILE$ = LEFT$(FILE$,8)+"."+RIGHT$(FILE$,3)
- 2280 GOSUB 6190 'CLOSE/OPEN FILES INPUT FILE
- 2290 GOSUB 7020: IF NWS$ = "NOT" THEN NWS$ = "OK":GOTO 2200
- 2300 GOSUB 7090
- 2310 GOTO 2200
- 2320 RETURN
- 2330 LOCATE 9, 14: PRINT "Print Report from WSFILES Now? (Yes or No): ";
- 2340 PF$ = INKEY$: IF PF$ = "" THEN 2340
- 2350 IF PF$= "YES" OR PF$ = "Yes" OR PF$ = "yes" OR PF$ = "Y" OR PF$ = "y" THEN PRINT PF$: GOTO 2370
- 2360 PRINT PF$: RETURN
- 2370 LOCATE 11,10
- 2380 LINE INPUT; "Position Paper in Printer. Press Any Key to Print..."; AK$
- 2390 CLOSE: OPEN "I",1,"WSFILES"
- 2400 IF EOF(1) THEN 2430
- 2410 LINE INPUT#1, L$: LPRINT L$
- 2420 GOTO 2400
- 2430 LPRINT CHR$(12)
- 2440 RETURN
- 6000 ' *** SCREEN HOUSEKEEPING ROUTINES ***
- 6010 SCREEN 0: IF COL$ = "YES" THEN COLOR 14,1,9 ELSE COLOR 7,0,0
- 6020 CLS
- 6030 RETURN
- 6040 DEFINT A-Z
- 6050 KEY OFF
- 6060 P = 0
- 6070 OFFPD$ = "Y"
- 6080 RETURN
- 6090 PRINT#2, CHR$(12)
- 6100 P = P + 1: PLN$ = H2$ + " " + "Page " + STR$(P)
- 6110 PRINT#2, " ": PRINT#2, " ": PRINT#2, PLN$: PRINT#2, " ": L = 4: RETURN
- 6120 ' *** HEADING CONSTANTS ***
- 6130 H1$="FILE IDENTIFICATION INDEX PROGRAM"
- 6140 H2$ = " FILE IDENTIFICATION LIST / IN FILE ORDER, As of " + DATE$
- 6150 TM$(1) = "WordStar is a trademark of MicroPro International"
- 6160 TM$(2) = "This program was compiled using the IBM BASIC Compiler,"
- 6170 TM$(3) = "a product of Microsoft Corporation"
- 6180 RETURN
- 6190 CLOSE 1: ON ERROR GOTO 6200: OPEN "I",#1,FILE$: ON ERROR GOTO 0: RETURN
- 6200 RESUME 2200
- 7000 ' *** SUBROUTINES ***
- 7010 CL=INT((80-CL)/2):RETURN
- 7020 EX$ = RIGHT$(FILE$,3)
- 7030 IF EX$ = "EXE" OR EX$ = "COM" OR EX$ = "DCT" THEN NWS$ = "NOT": GOTO 7070
- 7040 IF EX$ = "OVR" OR EX$ = "DAT" OR EX$ = "DTA" THEN NWS$ = "NOT": GOTO 7070
- 7050 IF EX$ = "BAT" OR EX$ = "DEF" OR EX$ = "NDX" THEN NWS$ = "NOT": GOTO 7070
- 7060 IF EX$ = "BAS" OR EX$ = "C" OR EX$ = "SAV" THEN NWS$ = "NOT": GOTO 7070
- 7070 RETURN
- 7080 ' ***
- 7090 FOR LI = 1 TO 20
- 7100 IF EOF(1) THEN 7150 ELSE LINE INPUT#1, L$
- 7110 IF LI < 6 AND LEFT$(L$,2) = ".." THEN LC = 7: L$=RIGHT$(L$,LEN(L$)-2): GOSUB 7170: S$ = "YES": GOTO 7150
- 7120 LCK = INSTR(L$,"SUBJECT:"): IF LCK > 0 THEN LC = LCK: GOSUB 7160: GOTO 7140
- 7130 LCKA = INSTR(L$,"Subject:"): IF LCKA > 0 THEN LC = LCKA: GOSUB 7160
- 7140 NEXT LI
- 7150 RETURN
- 7160 L$=RIGHT$(L$,LEN(L$)-LC-7)
- 7170 IF LEN(L$) > 65 THEN L$ = LEFT$(L$,65)
- 7180 FOR K = 1 TO LEN(L$)
- 7190 CHRCK = ASC(MID$(L$,K,1))
- 7200 IF CHRCK < 32 THEN MID$(L$,K,1) = " "
- 7210 IF CHRCK > 126 THEN CHRCK = CHRCK-128: MID$(L$,K,1) = CHR$(CHRCK)
- 7220 NEXT K
- 7230 IF L$ = "Subject:" OR L$ = "SUBJECT:" THEN 7290
- 7240 FOR J = 1 TO 65
- 7250 IF MID$(L$,J,1) = " " THEN 7260 ELSE 7280
- 7260 NEXT J
- 7270 IF J > 1 THEN L$ = RIGHT$(L$,LEN(L$)-J): GOTO 7280
- 7280 L$ = RIGHT$(L$,LEN(L$)+1-J)
- 7290 FPR$ = FILE$ + ":"
- 7300 PRINT#2, FPR$; L$: L=L+1
- 7310 IF L = 60 THEN L = 0: GOSUB 6090
- 7320 FI = FI + 1: LOCATE 7,28: PRINT USING "###"; FI;:PRINT " Files Indexed"
- 7330 RETURN
- 9000 ' *** END OF JOB ROUTINE ***
- 9010 CLOSE
- 9020 LOCATE 15,16: PRINT "End of File Identification Index Program"
- 9030 LOCATE 18,1: FOR TM = 1 TO 3: PRINT TAB(10); TM$(TM): NEXT TM
- 9040 PRINT: PRINT: SYSTEM
- 10000 ' ********************************************************************
- 10010 DATA " *** WSID: FILE IDENTIFICATION INDEX SYSTEM ***"
- 10020 DATA " A Public Domain Software Contribution"
- 10030 DATA " From Perry Davis / November 1985"
- 10040 DATA " 9A Brookline Court / Princeton, NJ / 609-921-3175"
- 10050 DATA " "
- 10060 DATA "WSID creates a report listing WordStar and ASCII filenames found"
- 10070 DATA "in a directory plus one line of descriptive information of up to 65
- 10080 DATA "characters about each file. It ignores files with the extensions:"
- 10090 DATA "BAS, BAT, C, DAT, DEF, DCT, DEF, EXE, NDX, OVR, SAV."
- 10100 DATA " "
- 10110 DATA "Descriptive information about a file is entered by the user. It"
- 10120 DATA "may be part of a memo following the word 'SUBJECT:' or 'Subject:'"
- 10130 DATA "(including the colon) within the first 20 lines, OR, it may follow"
- 10140 DATA "TWO (2) dots found within the first five (5) lines of the file."
- 10150 DATA "The two dots are a WordStar convention for in-document Comments"
- 10160 DATA "and don't print as print as part of the document. For example,"
- 10170 DATA "(note: first dot must be column 1):"
- 10180 DATA "..THIS FILE CONTAINS AN OUTLINE FOR AN ARTICLE ON DOS WRITTEN 2/27/85"
- 10190 DATA " "
- 10200 DATA "To operate: copy WSIDENT.BAT, WSID.EXE to the directory to index;"
- 10210 DATA "SORT.EXE is also needed. At prompt, enter WSIDENT"
- 10220 DATA"The output is a file called WSFILES which can be printed immediately"
- 10230 DATA "or edited and printed later."